import { IMessageBase } from "../../Framework/MQ/IMessageBase";
import { MessageManager } from "../../Framework/MQ/MessageManager";
import { SerializeStream } from "../../Framework/Serialize/SerializeStream";
import { SeqPlaceInfoHelper } from "./SeqPlaceInfoHelper";
import { SEntityId } from "../Public/SEntityId";
type int = number;
//class SRobIslandGuildInfo
    
    export  class SRobIslandGuildInfo extends IMessageBase
    {
        constructor(arg1: Boolean=false)
        {
            
            super();if (arg1) 
            {
                MessageManager.instance().regist(this);
            }
            return;
        }

        public /* override */ getType(): int
        {
            return this._type;
        }

        public /* override */ clone(): IMessageBase
        {
            return new SRobIslandGuildInfo();
        }

        public /* override */ __write(arg1: SerializeStream): void
        {
            this.guildId.__write(arg1);
            arg1.writeString(this.guildName);
            arg1.writeString(this.ownerName);
            arg1.writeInt(this.grass);
            arg1.writeInt(this.memberCount);
            arg1.writeInt(this.attackTimes);
            arg1.writeInt(this.extraAttackTimes);
            arg1.writeDate(this.lastAttackDt);
            SeqPlaceInfoHelper.write(arg1, this.places);
            return;
        }

        public /* override */ __read(arg1: SerializeStream): void
        {
            this.guildId = new SEntityId();
            this.guildId.__read(arg1);
            this.guildName = arg1.readString();
            this.ownerName = arg1.readString();
            this.grass = arg1.readInt();
            this.memberCount = arg1.readInt();
            this.attackTimes = arg1.readInt();
            this.extraAttackTimes = arg1.readInt();
            this.lastAttackDt = arg1.readDate();
            this.places = SeqPlaceInfoHelper.read(arg1);
            return;
        }

        public /* const */_type: int=956;

        public /* var */guildId: SEntityId;

        public /* var */guildName: string;

        public /* var */ownerName: string;

        public /* var */grass: int;

        public /* var */memberCount: int;

        public /* var */attackTimes: int;

        public /* var */extraAttackTimes: int;

        public /* var */lastAttackDt: Date;

        public /* var */places: Array<any>;

        public static /* var */_regist: SRobIslandGuildInfo;
    }

            SRobIslandGuildInfo._regist = new SRobIslandGuildInfo(true);
        